<template>
<y-base-page title=" " :isBackHome="true">
  <view class="y-flex1 y-flex-center y-card y-flex-column y-flex">
    <image :src="imageUrlone+'/logo.png'" class="logo" @longpress="logoLongPress"></image>
    <view class="y-margin-top y-size-max">一家依护理服务平台</view>
    <button
      type="default"
      @getphonenumber="login"
      open-type="getPhoneNumber"
      class="y-bottom-btn y-bottom-btn-primary y-width100 y-bottom-btn-radius"
      style="margin-top: 212rpx;color: white;"
    >
      手机号授权绑定
    </button>
    <label class="y-flex y-flex-center y-margin-top" @click="setAgreed" >
      <radio :checked="agreed" color="#BF375A" />
      <text class="y-color-detail">我已阅读并同意</text>
      <text class="y-color-primary" @click="showModal = true">用户授权登录协议</text>
    </label>
    <view v-if="showDoor || env == 'development' " class="forceBtn" @click="goForceLogin()">密码登录</view>
    <c-modal
      :show="showModal" 
      height="700rpx"
      :noPadding="true"
      :noOverFlow="true"
      @closeModal="closeModal"
    >
      <view>
        <view class="contentModal">
          <view class="title" style="text-align: center;">一家依护理服务平台用户协议</view>
          <view class="content">
            <view>
              《一家依护理服务平台用户协议》（以下简称“本协议”）由您（以下简称“您”或“用户”）于一家依护理（以下简称“我方”）签订，适用于您访问一家依护理服务平台（包括但不限于其网站、APP、后台管理程序及系统、数据库等，合称“一家依护理服务平台”）以及您通过一家依护理服务平台获得相关网络信息、建议或技术服务等全部相关事宜。
            </view>
          <view class="bold">
            您在注册过程中点击“同意”按钮（或类似肯定按钮）并完成注册程序后，即表示您完全接受本协议项下的全部条款，本协议即构成对贵我双方之间具有法律约束力的正式文件。如果您不同意本协议或其中任何内容，您应立即停止使用一家依护理服务平台的任何服务。如果您使用一家依护理服务平台任何服务，您的使用行为将被视为对本协议全部内容的完全接受和认可。
          </view>
          <view style="text-align: center;" class="bold">法律声明</view>
          <view>
            <view class="bold">一、权利声明</view>
            除非我方另行声明，一家依护理服务平台内所有的产品、技术、软件、程序、数据及其他信息（包括但不限于文字、图像、图片、照片、音频、视频、图表、色彩、版面设计、电子文档）的所有权利（包括但不限于版权、商标权、专利权、商业秘密等知识产权及其他所有相关权利）均归我方及我方联方所有。未经我方许可，任何人不得擅自使用（包括但不限于通过任何机器人、蜘蛛等程序或设备监视、复制、传播、展示、镜像、上载、下载一家依护理服务平台内的任何内容。）
          </view>
          <view>
            <view class="bold">二、隐私权政策</view>
            我方非常重视保护用户的隐私权，为了给您提供更准确、更有个性化的服务，一家依护理服务平台将按照本隐私权政策的规定收集、使用和披露您的个人信息，请您在浏览一家依护理服务平台以及使用一家依护理服务平台的特定服务之前，仔细阅读本隐私政策并同意一家依护理服务平台根据本隐私权政策收集、使用、披露您的个人信息。
            本隐私权政策主要包括以下内容：当您浏览一家依护理服务平台时，我方向您收集哪些信息；我方如何使用这些信息；我方会在何种情况下披露这些信息；以及您的选择。本隐私权政策是《一家依护理服务平台用户协议》不可分割的一部分。
            请注意一家依护理服务平台可能包含连接到其他网站、小程序的链接，我方对这些其他网站、小程序是否采取了充分的隐私权保护措施不承担任何责任。我方建议您在浏览其他网站、小程序的网页之前仔细阅读该网站、小程序的隐私权政策或者声明。
            <view class="blod">1.信息的收集</view>
            您向我们提供的信息：如果您仅仅浏览一家依护理服务平台的一般性内容，我方并不要求您提供任何个人信息。在您需要使用或浏览特定服务或信息时，在您的同意及确认下，我方可能会以线上或线下注册表格的形式要求您提供以下个人资料和相关信息：
            1）联络性信息，比如姓名、手机号码、通讯地址、电子邮箱等；
            2）一般性信息：比如姓名、年龄、出生日期、家庭状况、收入状况等；
            3）敏感性信息：仅在特定情况下，我方会要求您提供个人付款信息和身份证证件信息。
            我方自动收集的信息：当您浏览一家依护理服务平台平台时（不管是否注册或登录），一家依护理服务平台可能自动收集与您相关的如下信息：
            1）您的浏览器类型和浏览器语言、操作系统类型、宽带类型；
            2）您的IP地址，该地址有时可能显示您所在地理位置；
            3）您在一家依护理服务平台内浏览过的页面、广告和链接；
            4）您访问一家依护理服务平台时发出的访问请求及其日期、时间和引荐网址（如果有）；5）通过Cookie标注您的浏览器的唯一性和在一家依护理服务平台的账户信息（包括您访问一家依护理服务平台的各项活动、浏览习惯、消费习惯、账户信息等）；您可以通过修改浏览器设置的方式拒绝Cookie，如果您拒绝了Cookie，您可能无法使用依赖于Cookie才能提供的一家依护理服务平台服务或功能；
            6）我方可能会使用浏览器网络存储（包括HTML5）和应用程序数据缓存等机制，在您的设备上收集和存储您所浏览的网页信息、小程序信息；
            7）当您使用一家依护理服务平台提供的具有定位功能的服务时，我方可能会收集并处理有关您实际所在位置的信息（例如移动设备发送的GPS信号），我方还可能使用各种技术进行定位，例如来自您设备的传感器数据就就可以提供附近Wi-Fi接入点和移动运营商基站的信息。
            请注意，本隐私权政策不适用于任何向您提供服务的第三方主体，包括那些可能向一家依护理服务平台披露信息的第三方。如果您需要查询、更正您的个人信息或注销账号，请通过客服中心与我方联系并提供您的账号和其他验证信息，我方会在核实后回复您的请求。
            <view class="blod">2.信息的使用</view>
            我方仅在必要的情况下（比如完成一项特定服务、参加一项优惠活动或根据法律法规之要求），方才使用您的付款信息和个人身份证信息。
            关于您的其他个人信息，我方主要应用以下方面：
            1）根据您的要求向您提供特定服务、产品或信息；
            2）授权您参加一项活动、比如调查问卷、优惠抽奖、老带新等；
            3）代表一家依护理服务平台、我方的关联方、其他第三方等向您提供或发送电子资讯、优惠信息；
            4）分析用户对一家依护理服务平台对使用方式和使用习惯，以便于改进我方服务和优化产品设计；
            5）阻止违法或潜在违法行为，阻止违反《一家依护理服务用户服务协议》的行为；
            6）我方在收集特定信息时向您披露的其他用途。
            <view class="blod">3.信息的披露</view>
            我方致力于取得和维护您对我方的信任，因此我方使用商业上合理的技术和其他措施，帮助防止您的个人资料丢失、被盗用或被攥改。同时，请了解我方仅会在如下情况下向特定主体披露您的个人信息：
            1）获得您的同意：在您同意的情况下，我方可能会与第三方商业合作伙伴分享您的个人信息。
            2）授权的第三方服务提供者：我方可能会与第三方服务提供者分享信息，这些第三方服务提供者协助一家依护理服务平台向您提供专业服务，包括陪护师、护士、康复师、客户支持、电子邮件和短信应用、商业分析、市场推广和数据处理等。
            3）竞赛或促销：当你选择一项竞赛或促销或其他类似活动，则根据该活动规则，您的信息可能会被披露给赞助商、供应商和其他协助我方设计、管理和实施该项活动的第三方服务提供者，这些第三方服务提供者可能包括竞赛评奖、奖品提供者、奖品快递者和整体数据分析者。您的信息还可能根据法律法规的强制性要求而被披露。此外，如果您报名参加一项活动，您将被视为同意遵守该项活动的规则，包括允许一家依护理服务平台赞助商使用您的名字、声音和图片进行广告和市场推广活动。
            4）重大交易：我方可能会在公司进行商业交易时披露您的信息，比如公司被并购、出售和破产。
            5）法律法规或司法与政府部门要求：我方可能会根据人民法院、政府机关或法律法规的要求向其披露用户信息。
            6）紧急情况下保护一家依护理服务平台和其他方利益：在我方面紧急情况下，我方可能会为了保护一家依护理服务平台、一家依护理服务平台员工和用户、一家依护理服务平台合作伙伴和其他公众的合法权利、利益和安全而披露用户信息。
            7）第三方合作伙伴：如果您通过我方的网站、小程序申请参与线上或线下优惠等活动，您的个人信息可能会提供给相关第三方以便与您及时沟通。
            我方承诺尽力保护您的个人信息，并会使用各种信息安全制度、安全技术和程序等措施来尽量保护您的个人信息不被未经授权地访问、使用或泄露。但是，请您理解信息数据的传输和存储不存在100%的安全，因此我方无法向您绝对保证上述个人信息的安全性与私密性。
            <view class="blod">4.您对信息使用的选择</view>
            您可以选择浏览和使用一家依护理服务平台的信息而不提供您的个人信息。但是如上所述，某些信息可能会被收集。同时，一家依护理服务平台的特定信息和服务仅在您提供相关注册信息后方能使用，如果您无法提供此类信息，可能会无法使用对应服务。
            如果您注册一家依护理服务平台，您可以随时查阅或编辑您提交给一家依护理服务平台的个人信息，但出于安全性和身份识别的考虑，您可能无法修改注册时提供的初始注册信息及其他验证信息。
            <view class="blod">5.未成年人的个人信息保护</view>
            一家依护理服务平台非常重视未成年个人信息的保护。如果您是不具备完全民事权利能力和完全民事行为能力的自然人，您在使用一家依护理服务平台任何服务前应事先取得您家长或法定监护人的同意。但是，即便如此，一家依护理服务平台希望您不要向我方提供任何个人信息。
            <view class="blod">6.隐私权政策的更新</view>
            我方会时常更新本隐私权政策，以反映我方的操作实践、相关服务和法律法规的变化。我方会在修订隐私权政策时更新文首所载的“生效日期”，请您定期查阅。您继续使用一家依护理服务平台，即视为您同意本隐私权政策的更新。
            <view class="blod">7.问题与投诉</view>
            如果您对本隐私权政策或个人信息保护由任何问题，请通过客服中心与我们联系。我们会尽最大努力在合理时间内回复您。
          </view>
          <view style="text-align: end;">
            <view>一家依护理服务平台</view>
            <view>2021.05</view>
          </view>
          </view>
        </view>
        <image class="cloose" :src="imageUrlone+'/mine/close.png'" mode="" @click="closeModal"></image>
      </view>
    </c-modal>
  </view>
</y-base-page>
</template>

<script>
import { wxUtil } from '@/lib/http.js';
import util from '@/lib/util.js';
import { getNowDate } from '@/api/openapi.js';
export default {
  data() {
    return {
      agreed: false,
      mobile: null,
      wxNickname: null,
      avatarUrl:null,
      jsCode: null,
      smsCode: null,
      smsTip: '获取验证码',
      appId:'',
      url:'',
      env: process.env.NODE_ENV,
      showModal:false,
      index:0,
      showDoor:false,
      imageUrlone:this.imageUrl,
      isLoginBtn:false,
    };
  },
  async onLoad(options) {
    // wxUtil.wxLogin();
    // console.log(await wxUtil.getJsCode());
    this.url = options.targetUrl;
    // 获取当前小程序环境的appid
    const accountInfo = wx.getAccountInfoSync();
    this.appId = accountInfo.miniProgram.appId;
  },
  async onShow() {
    try {
      this.jsCode = await wxUtil.getJsCode();
    } catch (e) {
      uni.toast('登录失败');
    }
  	let fromTime = uni.getStorageSync('fromTime');
    if(!fromTime) return;
    let res = await getNowDate();
    this.showDoor = util.getDiff(fromTime,res.data.data);
  },
  methods: {
    // async getUserInfo() {
    //   if (!this.agreed) return uni.toast('请先同意用户协议');
    //   wx.getUserProfile({
    //     desc: '获取你的昵称、头像',
    //     success: async res => {
    //       const { nickName ,avatarUrl} = res.userInfo;
    //       this.wxNickname = nickName;
    //       this.avatarUrl = avatarUrl;
    //       this.$store.commit('setAvatarUrl',avatarUrl);
    //       try {
    //         this.jsCode = await wxUtil.getJsCode();
    //       } catch (e) {
    //         uni.toast('登录失败');
    //         //TODO handle the exception
    //       }
    //     },
    //     fail: res => {
    //       //拒绝授权
    //       console.log('您拒绝了请求');
    //       return;
    //     },
    //     complete: () => {}
    //   });
    // },
    async login(e) {
      if (!this.agreed) return uni.toast('请先同意用户协议');
      const { encryptedData, iv } = e.detail;
      if(!encryptedData) return;
      // const { wxNickname, jsCode,avatarUrl } = this;
      wx.showLoading({
        title:'加载中'
      });
      await wxUtil.yjyWxLogin(this.appId,this.jsCode, encryptedData, iv).catch(e => {
        uni.toast('登录失败');
        return Promise.reject();
      });
      // encodeURIComponent 加密参数
      const url = util.getPageOptions().targetUrl;
      if( url ) {
          uni.reLaunch({
            url:decodeURIComponent(url) 
          })
      } else {
        uni.reLaunch({
          url: '../home/home'
        });
      }
      uni.hideLoading();
      // uni.reLaunch({
      //   url: '../home/home'
      // });
    },
    setAgreed() {
      this.agreed = !this.agreed;
    },
    async getCode() {
      const { mobile } = this;
      // mobile.ps = await mobile.checkFun(Object.assign(mobile, { __TYPE: 'blur' }));
      if (this.$options.codeLock) return;
      this.$options.codeLock = true;
      console.log('执行');
      // api_identifyCode(this.mobile);
      let timeCount = 60;
      this.smsTip = `${timeCount}秒`;
      let timer = setInterval(() => {
        timeCount--;
        timeCount === 0 ? (clearInterval(timer), (this.$options.codeLock = false), (this.smsTip = '获取验证码')) : (this.smsTip = `${timeCount}秒`);
      }, 1000);
    },
    goForceLogin() {
      wx.navigateTo({
        url: `../forcelogin/forcelogin?targetUrl=${this.url}`
      })
    },
    closeModal(){
      this.showModal = false;
      this.index++;
    },
    async logoLongPress(){
      if(this.index >= 5){
        this.showDoor = true;
        let res = await getNowDate();
        uni.setStorageSync('fromTime',res.data.data);
      }
    },
  }
};
</script>

<style lang="scss">
page {
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.logo {
  width: 126rpx;
  height: 126rpx;
}
.forceBtn {
  position: fixed;
  bottom: 5%;
  right: 15px;
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  font-size: 14px;
  color: #fff;
  background-color: #BF375A;
  border-radius: 50%;
  transform: translateY(-50%);
}
.contentModal{
	padding: 60rpx 30rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	.title{
		text-align: center;
	}
	.content{
		.blod{
			font-weight: 700;
		}
		view{
			margin: 15rpx 0;
			text-indent:20rpx
		}
	}
}
.cloose{
	position: absolute;
	bottom: -120rpx;
	left: 260rpx;
	width: 80rpx;
	height: 80rpx;
}
</style>
